// 知识点1：返回的引用无效：局部临时变量或者局部对象的引用对于返回都是无效的，因为在函数终止之后，局部变量或者对象的引用不再指向有效的内存区域。若是常量在函数调用之前存在，引用即可用。

// 知识点2：可以对返回值是非常量引用的函数结果赋值。

// 举个例子：
#include <iostream>
#include <string>
using namespace std;
//函数的声明及定义，接受两个参数，返回类型为非常量引用
char &Get_val(string &a, int ix) {
  return a[ix]; //字符串某一位置的字母
}
int main(int argc, char *argv[]) {
  string s = "an apple ";
  cout << "字符串修改前为：" << s << endl;
  Get_val(s, 0) = 'A'; //可以对非常量的引用返回值赋值
  cout << "字符串修改后为：" << s << endl;
  return 0; //代表执行成功
}